package com.zb.jsp.service.advert;


import java.util.Date;
import java.util.List;

import com.zb.jsp.dao.advertDao.TblAdvertDao;
import com.zb.jsp.pojo.TblAdvertAddress;
import com.zb.jsp.pojo.advert.TblAdvert;
import com.zb.jsp.utils.PropertiesCopyUtil;
import com.zb.jsp.vo.AdvertAddressVo;
import com.zb.jsp.vo.advert.AdvertVo;

public class AdvertService {

	//实例化一个tblAdvertDao对象
	TblAdvertDao tblAdvertDao = new TblAdvertDao(); 
	
	/**	
	 * 将vo中的信息保存到数据库中
	 * @param advertVo 从页面获取到 的vo对象
	 */
	public void addAdvert(AdvertVo advertVo) {
		//实例化一个pojo
		TblAdvert tblAdvert = new TblAdvert ();		
		// 调用外部自定义方法把Vo的值赋值给POJO
		PropertiesCopyUtil.copy(tblAdvert,advertVo);	
		//调用dao方法将pojo中的信息保存到数据库
		tblAdvertDao.addTblAdvert(tblAdvert);
		System.out.println("广告注册成功，注册时间：" + new Date());
	}
	
	/**	
	 * 根据广告类型或广告名查询广告信息列表
	 * @param advertVoQry 广告名或广告类型
	 * @return  advertVoList查询的广告信息
	 */
	public List<AdvertVo> findAdvertVoListByAdvertVoQry(AdvertVo advertVoQry){
		List<AdvertVo> advertVoList = null;
		
		//获取数据库中的记录数
		int advertCounts = tblAdvertDao.findAdvertVoCountByAdvertVoQry(advertVoQry);
		 // 取得总共有多少页(【总的记录数】/【每一页显示多少条记录】+（【总的记录数】%【每一页显示多少条记录】==0?0:1))
		int totalPages = (advertCounts/advertVoQry.getNumPerPage()) + (advertCounts % advertVoQry.getNumPerPage() == 0 ? 0:1);
		advertVoQry.setTotalPages(totalPages);
		//判断当前页是否为第一页
		if(advertVoQry.getCurPage() == null || advertVoQry.getCurPage() == 0){
			advertVoQry.setCurPage(1);
		}
		
		return advertVoList = tblAdvertDao.findAdvertVoListByAdvertVoQry(advertVoQry);		 		
	}
	
	/**
	 * 根据页面获取到的id号删除数据库信息
	 * 
	 * @param ids
	 *            拼接好 的id 号
	 */
	public void delAdvert(String ids) {

		// 判断传入的selectId是否为空
		if ("".equals(ids)||ids == null) {
			System.out.println("请选择要删除的记录");
			return ;
		}
		tblAdvertDao.delAdvert(ids);
	}
	
	/**	
	 * 根据id查询数据库信息并保存在AdvertVo对象中
	 * @param id 页面传回的id值
	 * @return 返回查询到的vo对象
	 */
	public AdvertVo findTblAdvertById(int id) {
		AdvertVo advertVo = new AdvertVo();

		TblAdvert tblAdvert = tblAdvertDao
				.findTblAdvertById(id);
		// 把POJO的值赋值给VO
		PropertiesCopyUtil.copy(advertVo, tblAdvert);

		return advertVo;
	}
	
	 /**
	   * 更新广告位信息
	   * 
	   * @param advertAddressVo
	   *          广告位信息
	   */
	  public void uptAdvert(AdvertVo advertVo) {
		  tblAdvertDao.uptTblAdvert(advertVo);
	  }
}
